package modelo.delictivas;

import modelo.geografia.Capital;
import modelo.geografia.Mapa;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;


public class TesoroNacionalComun extends TesoroNacional {
	
	public TesoroNacionalComun(String nombre, Capital origen){
		
		this.nombre = nombre;
		this.capitalDeOrigen = origen;
	}
	
	public int obtenerCantidadCapitalesAEscaparse(Ladron unLadron){
			
		return ( unLadron.getCantidadDePaisesConTesoroComun() );
	
	}
	

	public Node serializar(Document doc) {
		
		Element elementoTesoro = doc.createElement("TesoroNacionalComun");
		elementoTesoro.setAttribute("Nombre", this.nombre);
		//ahorra un tag innecesario esto comentado
		//Element elementoCapital = doc.createElement("Capital");
		//elementoCapital.appendChild(this.capitalDeOrigen.serializar(doc));
		elementoTesoro.setAttribute("capitalOrigen", this.capitalDeOrigen.getNombre());
		return elementoTesoro;
	}

	public static TesoroNacionalComun hidratar(Element elementoTesoro) throws Exception {
		
		
		String nombre = ((Element)elementoTesoro).getAttribute("Nombre");
		Capital origen = Mapa.obtenerMapa().obtenerCapitalLlamada(elementoTesoro.getAttribute("capitalOrigen"));
		TesoroNacionalComun nuevoTesoro = new TesoroNacionalComun(nombre,origen);
		
		return nuevoTesoro;
	}

	
}
